/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.hadoop.hive.ql.parse.repl.metric.event;

/**
 * Class for defining the metadata info for replication metrics.
 */
public class Metadata {
  /**
   * Type of replication.
   */
  public enum ReplicationType {
    BOOTSTRAP,
    INCREMENTAL
  }
  private String dbName;
  private ReplicationType replicationType;
  private String stagingDir;
  private long lastReplId;

  public Metadata() {

  }

  public Metadata(Metadata metadata) {
    this.dbName = metadata.dbName;
    this.replicationType = metadata.replicationType;
    this.stagingDir = metadata.stagingDir;
    this.lastReplId = metadata.lastReplId;
  }

  public Metadata(String dbName, ReplicationType replicationType, String stagingDir) {
    this.dbName = dbName;
    this.replicationType = replicationType;
    this.stagingDir = stagingDir;
  }

  public long getLastReplId() {
    return lastReplId;
  }

  public String getDbName() {
    return dbName;
  }

  public ReplicationType getReplicationType() {
    return replicationType;
  }

  public String getStagingDir() {
    return stagingDir;
  }

  public void setLastReplId(long lastReplId) {
    this.lastReplId = lastReplId;
  }
}
